<!--SIF Implementation Specification 2.2-6 (March 17, 2008)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="MarkValueInfoType">
    <xs:annotation>
      <xs:documentation>This object defines the types of values allowed for a mark and the domain for each mark value.  At least one of the Percentage, Numeric, Letter or Narrative nodes must be used to create a valid MarkValueInfo.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolYear" minOccurs="0" type="sif:SchoolYearType">
        <xs:annotation>
          <xs:documentation>The year that this  MarkValueInfo applies to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:documentation>The text name of the value list ("Letter Grades", "Letter Grades (+/-)", "ESU", "Pass/Fail", "Override Grades", "Citizenship Comment Codes", etc.).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Percentage" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Minimum" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>The minimum percent value accepted for this mark.  If present, the publisher of this object is required to ensure that any values present in the StudentSectionMarks object will not be lower than this value.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Maximum" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>The maximum percent value accepted for this mark.  If present, the publisher of this object is required to ensure that any values present in the StudentSectionMarks object will not be higher than this value.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="IsAccepted" use="required" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates whether a percent Mark is accepted and is used in Change events to unambiguously signal whether support for the Mark has changed, especially ended.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="Numeric" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Precision" minOccurs="0" nillable="true" type="xs:unsignedInt">
              <xs:annotation>
                <xs:documentation>Number of significant digits.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Scale" minOccurs="0" nillable="true" type="xs:unsignedInt">
              <xs:annotation>
                <xs:documentation>Number of decimal places.</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="Low" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>Lowest Mark in the range (e.g., 98, 3.95).</xs:documentation>
              </xs:annotation>
            </xs:element>
            <xs:element name="High" minOccurs="0" nillable="true" type="xs:decimal">
              <xs:annotation>
                <xs:documentation>Highest Mark in the range (e.g., 100, 4.0).</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="IsAccepted" use="required" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates whether a raw numeric score is accepted and is used in Change events to unambiguously signal whether support for the score has changed, especially ended.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="Letter" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ValidMark" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Code" minOccurs="0" type="xs:token">
                    <xs:annotation>
                      <xs:documentation>String representing the actual Mark that would appear on the report card (e.g., "A+", "I", "100").</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="NumericEquivalent" minOccurs="0" nillable="true" type="xs:decimal">
                    <xs:annotation>
                      <xs:documentation>Numeric equivalent for the Mark (e.g., 100, 4.0).</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
                    <xs:annotation>
                      <xs:documentation>The description for this code. (e.g. "Excellent", "Participates in Class", "Incomplete", etc...).</xs:documentation>
                    </xs:annotation>
                  </xs:element>
                </xs:sequence>
                <xs:attribute name="SIF_Action" use="optional">
                  <xs:annotation>
                    <xs:documentation>
								In a Change event, this flag can be used to indicate an element has been deleted from the parent list container.  At a minimum the key for the list must also be present.
							</xs:documentation>
                  </xs:annotation>
                  <xs:simpleType>
                    <xs:restriction base="xs:token">
                      <xs:enumeration value="Delete" />
                    </xs:restriction>
                  </xs:simpleType>
                </xs:attribute>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="IsAccepted" use="required" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates whether a letter Mark is accepted and is used in Change events to unambiguously signal whether support for the Mark has changed, especially ended.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="Narrative" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MaximumSize" minOccurs="0" nillable="true" type="xs:unsignedInt">
              <xs:annotation>
                <xs:documentation>An integer value representing the maximum number of Unicode characters for the narrative, the UTF-8 encoding of which may be longer.</xs:documentation>
              </xs:annotation>
            </xs:element>
          </xs:sequence>
          <xs:attribute name="IsAccepted" use="required" type="xs:boolean">
            <xs:annotation>
              <xs:documentation>Indicates whether a narrative is accepted and is used in Change events to unambiguously signal whether support for a narrative has changed, especially ended.</xs:documentation>
            </xs:annotation>
          </xs:attribute>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="RefId" use="required" type="sif:RefIdType">
      <xs:annotation>
        <xs:documentation>The ID (GUID) that uniquely identifies this MarkValueInfo entity.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="SchoolInfoRefId" use="required" type="sif:IdRefType">
      <xs:annotation>
        <xs:documentation>The ID (GUID) that uniquely identifies the School that these Mark Values apply to.</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:element name="MarkValueInfo" type="sif:MarkValueInfoType" />

</xs:schema>